Autonomous load/unload robot

ABSTRACT

An autonomous robot for loading and unloading cargo of a cargo container includes a first vertical member; a second vertical member spaced in substantially parallel relation to the first vertical member; and a cross-member secured to the first and second vertical members in a substantially perpendicular orientation thereto. The robot further includes a first arm and a second arm secured to the cross-member and extending in a forward direction with respect to the robot. The robot also includes means for imparting vertical movement to the cross-member along the length of the first and second vertical members and means for imparting horizontal movement to the first and second arms along the length of the cross-member. Means for imparting motive force to the robot is/are provided. A processing unit is configured to control directional movement, loading, and unloading routines of the robot. A method for loading/unloading the container is also disclosed.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is directed to an autonomous robot and, more specifically, to a robot for loading and unloading cargo into and out of cargo containers.

2. Description of Related Art

Shipping containers are provided in standardized sizes in order to facilitate transport at all international ports. Bulk merchandise is normally packaged within cartons, cardboard boxes, or other substantially rectilinear packages. Depending upon the merchandise, the cartons may be plastic-wrapped in order to further contain and protect the contents. The cartons may also vary in size within a single shipping container due to transportation of perhaps dissimilar goods within the same shipping container.

Sea-going shipping containers used for international transport of bulk merchandise rarely employ pallets. Although the use of pallets would aid the loading and unloading of such containers, dedicating space and weight to the pallets is not customary due to the fact that space and weight are at a premium. Specifically, the more cargo that is stored within the container, the more cost-efficient the transit of that container becomes. Therefore, most containers are close-packed including only the merchandise, from wall to wall and floor to ceiling of the container.

A number of different methods have been proposed to accomplish unloading of the container. For example, one such method includes shaking the contents of the container out between guideposts down a chute. Obviously, such an approach is only appropriate for the unloading of non-fragile merchandise. Furthermore, this approach does not provide for the end transport of the individual merchandise to stocking inventory or splitting up a given shipment for further distribution to multiple destinations. In any case, no automated process of efficiently loading a container has yet been heretofore devised.

It is, therefore, desirable to overcome the above problems and others by providing a system and method for efficient autonomous loading and unloading of bulk merchandise from cargo containers. Generally, such a system should operate in a timely and cost-effective manner and account for space and weight constraints imposed by the merchandise and the container.

SUMMARY OF THE INVENTION

Accordingly, we have invented an autonomous robot for loading and unloading cargo of a cargo container. Cargo may include, but is not limited to, one or more cartons, packages, or boxes. Thus, the robot of the present invention is configured to load and unload cargo having various and different physical characteristics.

In a desirable embodiment, the robot includes a first vertical member; a second vertical member spaced in substantially parallel relation to the first vertical member; and a cross-member secured to the first and second vertical members in a substantially perpendicular orientation thereto. The robot further includes a first arm and a second arm secured to the cross-member and extending in a forward direction with respect to the robot. The first and second arms may be non-articulated, articulated, rotatable, or a combination thereof. Additionally, each arm may be configured to move independently of the other arm. At least one of the first and second arms include a pressure sensor for conveying pressure data relating to an amount of pressure applied to the cargo. Means, such as a retractable foot, one or more treads, or a plurality of wheels, are utilized for imparting motive force to the robot. A plurality of cameras are secured to the robot to provide a field of vision for the robot.

Optionally, the robot may include a conveyor extending in a rearward direction from the robot. The conveyor includes a loading shelf adapted to receive cargo from the first and second arms of the conveyor, wherein the loading shelf is situated such that in a first position, vertical travel of the cross-member is obstructed by the shelf, and such that in a second position, vertical travel of the cross-member along the length of the first and second vertical members is unobstructed.

The robot also includes means for imparting vertical movement to the cross-member along the length of the first and second vertical members and means for imparting horizontal movement to the first and second arms along the length of the cross-member. The means include, but are not limited to a linear actuator, a pulley, a belt drive, or an expanding member.

A processing unit is configured to control directional movement, loading, and unloading routines of the robot. The processing unit is configured to detect the size of the cargo; detect an edge of the cargo; detect a wall, ceiling, or floor of the cargo container; detect shifted cargo and position thereof; create loading and unloading strategies based upon the size of the cargo; optimize the loading and unloading strategies during the course of loading and unloading, respectively; conduct self-tests to ensure operational functionality of the robot; receive external queries; and/or detect unanticipated movement within a predefined perimeter.

In an alternative embodiment, the robot further includes a third and fourth vertical member secured in substantial parallel relation to the first and second vertical member, respectively, wherein the first and second vertical members are configured to move vertically with respect to the third and fourth vertical members, respectively. In still another alternative embodiment, the autonomous robot may include a compound linear actuator for imparting horizontal movement to the first and second arms substantially beyond a width of the robot, wherein the width of the robot is defined by the width of the cross-member.

A method for loading and unloading a cargo container with cargo is also disclosed. Generally, loading the cargo container includes the steps of providing an autonomous robot configured for movement into and out of the cargo container, wherein the robot includes a first arm and a second arm, a plurality of cameras, and a conveyor; positioning the robot within the cargo container; and placing the cargo on the conveyor and conveying the cargo toward the first and second arms via the conveyor. The first and second arms are configured to move to a first position such that the first and second arms are adjacent to the cargo on opposing sides thereof. Suitable holding pressure is applied to the cargo by the first and second arms. Thereafter, the presence of one or more edges of existing cargo within the container are detected to determine an offload space sized to accommodate the cargo. An offload coordinate is then selected within the offload space. The offload coordinate is determined as a triangulation function utilizing at least a first and second pixel from a first and second video frame of a first and second respective camera selected from the plurality of cameras. The first and second arms are moved to a second position, wherein the second position corresponds to the offload coordinate. Accordingly, the cargo is moved from the conveyor into the offload space. Finally, the holding pressure applied to the cargo by the first and second arms is reduced to cause the cargo to be released into the offload space.

Generally, unloading the cargo container includes the steps of providing an autonomous robot configured for movement into and out of the cargo container, wherein the robot includes a first arm and a second arm, a plurality of cameras, and a conveyor; determining the location of the cargo by detecting one or more edges thereof utilizing one or more of the cameras; and moving the first and second arms to a first position such that the first and second arms are adjacent to the cargo on opposing sides thereof. Suitable holding pressure is then applied on the cargo by the first and second arms. The first and second arms are moved to a second position, wherein the second position is defined as an area situated near the conveyor. Finally, the holding pressure applied to the cargo by the first and second arms is reduced to cause the cargo to be released and conveyed away from the first and second arms via the conveyor. The robot is configured to move the cargo from a skewed position to a position conducive for grasping by the first and second arms by utilizing either the first or second arms to push against a front face of the cargo, a side of the cargo, or a combination thereof.

The robot of the present invention is deemed to operate autonomously in the sense that there is a complete lack of human intervention or support once a given container has been identified for loading or unloading purposes. Furthermore, the robot may be integrated into an automated inventory conveyor having put-and-pick functionality that permits the development of a completely automatic warehouse and distribution center.

Still other desirable features of the invention will become apparent to those of ordinary skill in the art upon reading and understanding the following detailed description, taken with the accompanying drawings, wherein like reference numerals represent like elements throughout.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a front perspective view of a robot for loading and unloading cargo;

FIG. 2 is a perspective exploded view of the robot of FIG. 1;

FIG. 3 a is a perspective view of a first embodiment gripper assembly of the robot;

FIG. 3 b is a perspective view of a second embodiment gripper assembly of the robot;

FIG. 3 c is a perspective view of a third embodiment gripper assembly of the robot;

FIG. 4 a is a perspective view of a first embodiment for imparting motive force to the robot;

FIG. 4 b is a perspective view of a second embodiment for imparting motive force to the robot;

FIG. 4 c is a perspective view of a third embodiment for imparting motive force to the robot;

FIG. 5 is a perspective view of a compound linear actuator for imparting horizontal movement to the gripper assembly;

FIG. 6 is a perspective view of a compound linear actuator for imparting vertical movement to the gripper assembly; and

FIG. 7 is perspective view of an exemplary cargo container with cargo situated therein.

DETAILED DESCRIPTION OF THE INVENTION

For purposes of the description hereinafter, spatial or directional terms shall relate to the invention as it is oriented in the drawing figures. However, it is to be understood that the invention may assume various alternative variations, except where expressly specified to the contrary. It is also to be understood that the specific apparatus illustrated in the attached drawings, and described in the following specification, are simply exemplary embodiments of the invention. Hence, specific dimensions and other physical characteristics related to the embodiments disclosed herein are not to be considered as limiting.

FIGS. 1 and 2 depict an autonomous robot 10 configured to load cargo into and unload cargo out of a cargo container. Generally, robot 10 includes a first vertical member 12 spaced in a substantially parallel relation to a second vertical member 14. A cross-member 16 is secured to first and second vertical members 12, 14 in a substantially perpendicular orientation thereto. A first arm 18 and a second arm 19 are secured to cross-member 16 and extend in a forward direction with respect to robot 10. The cross-member 16 in combination with first and second arms 18, 19 are referred to herein as a gripper assembly 20 of robot 10. Accordingly, this aspect of robot 10 assumes a framework design, which may be structurally strengthened via additional supports, such as support 22. The structural components of robot 10 may be constructed of any suitable material adapted to withstand stresses associated with loading and unloading operations of robot 10. The material type, gauge, and reinforcement used in construction of robot 10 may be defined by the greatest anticipated forces (e.g., torque) in addition to a safety multiplier. Exemplary materials that may be utilized include, but are not limited to a titanium alloy and an extruded aluminum alloy.

Webster's II New College Dictionary, Copyright 2001 by Houghton Mifflin Company, defines “robot” as “a machine or device that works automatically or by remote control.” Accordingly, the term “robot” in the context of the present application should be given a broad interpretation to encompass any mechanical device configured to autonomously load and unload cargo from a cargo container. Furthermore, it is to be understood that robot 10 discussed herein is only an exemplary embodiment robot and, therefore, the design of a robot suitable for autonomously loading and unloading cargo from a cargo container is not to be construed as limited by the description or drawings provided herein.

Robot 10 is configured to allow for a wide range of vertical and horizontal movement of first and second arms 18, 19. Specifically, vertical movement of the first and second arms 18, 19 is effected by moving gripper assembly 20 the length of first and second vertical members 12, 14. First and second vertical members 12, 14 may incorporate a linear actuator, pulley/belt drive, expanding/telescoping member motor driven system, or any other suitable drive mechanism for imparting vertical movement to gripper assembly 20. Thus, it is to be understood that gripper assembly 20 is movably secured to first and second vertical members 12, 14. For example, as shown in FIG. 2, a respective actuator 24 may be integrated within first and second vertical members 12, 14 for vertical travel therein. Portions of actuators 24 extending from first and second vertical members 12, 14 may be connected to respective opposing ends of cross-member 16. The aforementioned drive mechanisms are for exemplary purposes only and are not to be construed as limiting the invention. Additionally, the drive mechanism may be powered by a driver, such as, without limitation, one or more electric motors, such as a servo motor or a digital step motor; pneumatics; hydraulics; and magnetic induction (e.g., focused or localized electromagnetic fields). Furthermore, it is to be understood that the aforementioned drive mechanism and driver may be associated with either one or both of vertical members 12, 14. However, desirably, each vertical member 12, 14 includes a respective drive mechanism to allow for sufficient lifting power and smooth and consi stent vertical travel of gripper assembly 20. Each drive mechanism may be operated dependently or independently of each other.

Desirably, horizontal movement of first and second arms 18, 19 is effected by a separate drive mechanism integrated within cross-member 16. Thus, a drive mechanism similar to the aforementioned drive mechanism and corresponding driver may be utilized in connection with first and second arms 18, 19. For example, as shown in FIG. 2, respective actuators 26, such as pulleys, may be integrated within cross-member 16. A pulling action of respective belts secured to first and second arms 18, 19 causes first and second arms 18, 19 to move along the length of the cross-member as well as move away and towards each other. It is to be understood that first and second arms 18, 19 may be configured to move independently of each other. Thus, in connection with the vertical movement provided by actuator 24 of first and second vertical. members 12, 14, first and second arms 18, 19 are configured to engage and disengage cargo at various positional locations with respect to the framework of robot 10. The loading and unloading process is optimized by minimizing mechanical contraction and expansion between first and second arms 18, 19. For example, a small contraction (i.e., reduction in distance between two arms 18, 19) serves to grasp the cargo, whereas a small expansion (i.e., increase in distance between two arms 18, 19) will release the cargo. Minimizing travel required by arms 18, 19 results in a reduction of load and/or unload time and mechanical wear on robot 10.

With reference to FIGS. 3 a-c, and with continuing reference to FIGS. 1 and 2, a first embodiment gripper assembly 30, a second embodiment gripper assembly 32, and a third embodiment gripper assembly 34 are shown, respectively. Robot 10 depicted in FIG. 2 is shown to utilize first embodiment gripper assembly 30; however, it is to be understood that robot 10 may utilize any other type of suitable gripper assembly including, but not limited to second or third embodiment gripper assemblies 32, 34. Desirably, first embodiment gripper assembly 30, first and second arms 18, 19 are embodied as L-shaped members conducive to lifting a box from an underside thereof as well as applying pressure to opposing sides of the box. First and second arms 18, 19 may also be tapered or have a wedge-shape to assist in entering spaces between boxes. First and second arms 18, 19 may also include other attachments or ends that may be more conducive for particular applications, such as lifting variously sized or dimensioned objects. First embodiment gripper assembly 30 includes first and second arms 18, 19 and dual actuators 26 in the form of pulleys.

In contrast, first and second arms 18, 19 of second embodiment gripper assembly 32 are embodied as horizontally articulated arms. Arms 18, 19 are configured to rotate along a vertical axis of each articulation point, as indicated by the arrows. Each section of first and second arms 18, 19 may be independently operated utilizing actuators 36. Furthermore, second embodiment gripper assembly 32 utilizes only a single actuator 26. Accordingly, first and second arms 18, 19 may be connected to each other such that first and second arms 18, 19 move in tandem with each other along the length of cross-member 16. Thus, instead of utilizing independent arm movement, the gripping distance between first and second arms 18, 19 may be changed via the articulation functionality inherent in first and second arms 18, 19. Third embodiment gripper assembly 34 utilizes two actuators 26 in combination with rotational articulated arms 18, 19. Arms 18, 19 are configured to rotate along a horizontal axis of each articulation point, as indicated by the arrows. Still another alternative embodiment may utilize fully articulated arms, such that first and second arms 18, 19 provide both horizontal and vertical articulation. Accordingly, it is to be understood that the first and second arms 18, 19 of the first, second, and third embodiment gripper assembly 30, 32, 34 may be embodied in an unlimited number of ways and may be used to hold cargo other than boxes or other rectilinear objects. Robot 10 may be configured to handle any three-dimensional object, securing the object either through direct physical contact with the object or through indirect means (e.g., through manipulation of electromagnetic fields). Exemplary object shapes include, but are not limited to cylindrical canisters, triangular or rhombohedral-shaped boxes, spheroids, as well as other less common or uniquely shaped objects. Thus, it is to be understood that robot 10 is not limited in the shapes and sizes of objects that may be loaded and unloaded.

Desirably, one or both of first and second arms 18, 19 of first, second, and/or third embodiment gripper assemblies 30, 32, 34 include a sensor, such as a pressure sensor 37 and/or an edge sensor 38. Pressure sensor 37 may be used to detect an amount of pressure applied to the box by first and second arms 18, 19. Edge sensor 38 mounted at a tip of each of first and second arms 18, 19 may be used to detect the far edge of a box such that robot 10 is aware of the depth of that box. As shown, gripper assembly 20 may be constructed in a variety of ways, with the specific structural design of gripper assembly 20 dictated by the application of robot 10. For example, a specific structural design of gripper assembly 20 may be utilized for increased cargo dimensions and increased load weight applications.

Returning to FIG. 2, robot 10 includes an appropriate mechanism for imparting motive force to robot 10. Generally, the motive force provides varying degrees of movement of robot 10 with respect to the operating environment. For example, movement may be in forward, rearward, and turning directions to effect loading and unloading of cargo from a container. Specifically, the motive force allows robot 10 to acquire a given target container from a loading ramp or home docking position and then move to an appropriate initial load or unload position inside or at a tailgate portion of a container. In the desirable embodiment, first and second vertical members 12, 14 are secured to respective drive members 39. Drive members 39 may be integral with or secured to first and second vertical members 12, 14. Desirably, drive members 39 are spaced in substantial parallel relation to each other.

With reference to FIGS. 4 a-c, and with continuing reference to FIGS. 1 and 2, a first embodiment drive member 40, a second embodiment drive member 42, and a third embodiment drive member 44 are shown, respectively. Robot 10 depicted in FIG. 2 is shown to utilize first embodiment drive member 40, however, it is to be understood that robot 10 may utilize any other type of suitable drive member including, but not limited to, second or third embodiment gripper assemblies 42, 44. First embodiment drive member 40 includes a body 46 supporting a foot 48 adapted for travel along the length of body 46. Foot 48 is connected to a belt 50 driven by an actuator 52. A plurality of casters 55 may be attached to body 46 to provide balanced support to robot 10. Desirably, in operation, foot 48 applies pressure to a floor surface using loaded springs. To move robot 10 forward, foot 48 is first retracted using a solenoid 54. Then, actuator 52 is engaged to move belt 50, and effectively foot 48, forward. Once foot 48 has moved a predefined distance along the length of body 46, solenoid 54 is released and foot 48 again applies pressure to the floor surface. The final movement is achieved by activating actuator 52 again and reversing the direction of belt 50. This effectively causes robot 10 to crawl forward. Reversing the movement of actuator 52 causes the robot 10 to crawl backwards. Desirably, to obtain fluid and linear forward or backward motion of robot 10, the respective drive members 39 are operated in tandem. However, engaging only one driver member 39, engaging each of drive members 39 at different rates, or engaging each of the drive members in opposite directions in relation to each other causes robot 10 to turn. Second embodiment drive member 42 may include a tread mechanism 56 having a plurality of wheels 58 engaging a continuous belt 60, similar to that of a tank or tractor tread mechanism. Continuous belt 60 may be constructed of a friction-inducing coating that grips the floor surface upon movement of robot 10. Third embodiment drive member 44 may include a wheel-based mechanism 62 including a plurality of wheels 64 that may be independently driven by respective servo motors.

Returning to FIGS. 1 and 2, robot 10 may also include a conveyor 66, desirably situated between first and second vertical members 12, 14 and extending in a rearward direction from robot 10. Conveyor 66 may include a series of rollers 68 to effect forward and backward movement of cargo placed on conveyor 66. It is to be understood that rollers 68 are not to limit the scope of the conveyor, as the conveyor may instead, or in combination therewith, include a belt or other suitable conveying component.

Desirably, conveyor 66 also includes a loading shelf 70 situated at the end of conveyor 66 proximal to the robot 10. Specifically, loading shelf 70 is positioned such that cargo may be removed from or transferred to loading shelf 70 by first and second arms 18, 19. Loading shelf 70 may employ conveying components including, but not limited to, rollers or a belt. Furthermore, loading shelf 70 is adapted to move out of the way, such as by folding or sliding, when no cargo is situated thereon. An arrow 71 indicates an exemplary direction of downward folding by the loading shelf 70. Thus, loading shelf 70 does not interfere with movement of the cross-member along the length of first and second vertical members 12, 14 when loading and unloading cargo from a container. For example, when receiving cargo from conveyor 66, loading shelf 70 is situated in a first position, such that first and second arms 18, 19 are able to grasp the cargo. In this first position, vertical travel of first and second arms past the shelf is obstructed. After the cargo is securely grasped by first and second arms 18, 19, loading shelf 70 moves to a second position. In this second position, vertical travel of first and second arms 18, 19 is unobstructed and the cargo may be effectively moved the full length of first and second vertical members 12, 14. During the process of unloading cargo from a container, loading shelf 70 moves from the second position to the first position at an appropriate time when first and second arms 18, 19 are in position to release the cargo. Thus, the cargo is released onto loading shelf 70 to be conveyed via conveyor 66 away from robot 10.

Desirably, conveyor 66 may be relatively fixedly secured to robot 10 such that conveyor 66 moves concurrently with robot 10, especially into and out of a container. Conveyor 66 may include casters 69 to assist in movement along the floor surface. In an alternative embodiment, conveyor 66 need not be fixedly secured to robot 10. Rather, conveyor 66 may be situated in an area remote from robot 10, for example, extending from a warehouse adjacent to a loading dock. Robot 10 then travels to and from the remotely situated conveyor to load and unload cargo. Because conveyor 66 is not fixedly secured to robot 10 and no movement limitations are imposed on first and second arms 18, 19 by loading shelf 70, conveyor 66 need not utilize loading shelf 70 in this alternative embodiment.

Robot 10 may also include environment sensing hardware. Environment sensing is not limited to the electromagnetic spectrum (e.g., gamma-rays, x-rays, ultraviolet rays, visible light, infrared radiation, radio-frequency, and sound waves), but also to the detection of material type and phase (e.g., liquid, solid, gas) whose classification in turn may also be based upon the electromagnetic spectrum. An example of environment sensing hardware is a plurality of cameras 72, mounted to various portions of the robot 10, such as first and second vertical members 12, 14, support 22, and/or gripper assembly 20. Cameras 72 are capable of but not necessarily limited to detecting photons whose energies may coincide with the portion of the electromagnetic spectrum normally detectable by human sight (i.e., the “visible” spectrum). Thus, each of cameras 72 may be embodied as a multi-element passive photon detector. Desirably, cameras 72 are positioned to capture still images or video representative of an expansive field of vision, including a stereoscopic view, relating to the load and unload operations of robot 10. Additionally, robot 10 may support other environment sensing and translating hardware including, but not limited to multi-element or single element sound transducers, multi-element or single element thermal sensors, multi-element or single element passive radio-frequency sensors, multi-element or single element active radio-frequency transducers, and a gas/liquid sampling sensors.

Robot 10 includes a processing unit 75 configured to control loading and unloading routines and associated directional movement relating to the operation of robot 10. Processing unit 75 may be embodied as software driven computing hardware having suitable input and output connections that communicatively connect sensors, actuators, and other components with processing unit 75. These connections for implementing communicative connectivity between processing unit 75 and various components of robot 10 are not explicitly discussed or shown herein, as they are to be understood by persons having ordinary skill in the art.

Processing unit 75 is configured to control a wide range of functions inherent in the operation of robot 10. For example, processing unit 75 includes appropriate algorithms for creating and implementing loading and unloading strategies. Processing unit 75 is configured to continually optimize loading and unloading strategies. Specifically, processing unit 75 updates height, depth, weight, and load/unload time per item and determines in real time whether or not a revision to the current load/unload strategy is required. Processing unit 75 is configured to receive inputs from actuators 24, 26, sensors 37, 38, and cameras 72 to continually sense the operating environment and detect changes thereto. For example, based upon the type of cargo to be loaded or unloaded, processing unit 75 may include specific pressure constraints, that once sensed by pressure sensor 37, indicate to processing unit 75 to cease or reduce any further contraction between first and second arms 18, 19 on the cargo.

Furthermore, processing unit 75, via appropriate environment sensing and translating hardware is configured to detect the size of the cargo; detect edges of the cargo; detect the presence of shifted cargo and the position thereof; and detect the wall, ceiling, or floor of the cargo container. The cargo, wall, ceiling, or floor may be detected by a multi-element or single-element detector configured to detect energy within the electromagnetic spectrum. If there in insufficient energy generated or redirected by the cargo, walls, ceiling, and/or floor at a particular point in the electromagnetic spectrum, then robot 10 may be further augmented with a device for generating energy over the portion of the electromagnetic spectrum, again for the purpose of detecting the cargo, walls, ceiling, and/or floor.

Processing unit 75 may also include self-tests to ensure operational functionality of all sensors and servos. For example, processing unit 75 may be configured to recalibrate the sensors in real time and a servo interface may be monitored through feedback loops to the servo drivers internal to processing unit 75. Processing unit 75 may also anticipate possible or impending failures by monitoring servo actuator current draw, for example. Furthermore, processing unit 75 may be responsive to external queries, such as wirelessly transmitted commands, issued thereto even during the course of loading or unloading. Robot 10 may also be configured to ensure safe operation thereof. For example, should unanticipated movement (e.g., cargo or personnel) be detected within a predefined safety perimeter, processing unit 75 may instruct robot 10 to cease loading and unloading operations and issue an alert through an annunciator.

Desirably, the width of robot 10 is sized to accommodate the interior width of a container. Specifically, first arm 18 is adapted to move along cross-member 16 to a point adjacent to one side wall of the interior of the container, whereas second arm 19 is adapted to move along cross-member 16 to a point adjacent to the opposing side wall of the interior of the container. Similarly, movement of gripper assembly 20 ranges from the floor to the ceiling of the container. Thus, the presently described robot 10 need not rely on lateral movement of robot 10 once inside the container. However, this specific design of robot 10 limits efficient use of robot 10 to containers having similar widths and heights as those widths and heights that are accessible via the range of movements of first and second arms 18, 19. Thus, it is desirable to provide modifications to robot 10 to allow extended expansion or contraction in height or width, as necessary, to accommodate a range of various container sizes.

With reference to FIGS. 5 and 6, and with continuing reference to FIGS. 1 and 2, a compound linear actuator member 77 for imparting horizontal movement and a compound linear actuator member 78 for imparting vertical movement are shown, respectively. Accordingly, without manual intervention or modification, robot 10 is adapted to automatically scale itself, through expansion and contraction of compound linear actuator members 77, 78 in width and height, respectively, to handle a range of container sizes. Compound linear actuator member 77 is similar in construction to gripper assembly 20 except for the addition of a second cross-member 80 that is movably secured thereto. Specifically, second cross-member 80 includes one or more actuators 82 that allow gripper assembly 20 to controllably move horizontally in a parallel relation to second cross-member 80. Thus, unlike the previously discussed embodiments of gripper assembly 20, second cross-member 80, not cross-member 16, is directly secured to first and second vertical member 12, 14 of the robot 10.

Compound linear actuator member 78 is similar in construction to the framework design defined by first and second vertical members 12, 14 and support 22. However, cross-member 20 is secured to secondary first and second vertical members 84, 86. One or more actuators 88 may be integrated within secondary first and second vertical members 84, 86 for vertical travel therein. Portions of actuators 88 extending from secondary first and second vertical members 84, 86 may be connected to respective opposing ends of the cross-member 16. Secondary first and second vertical members 84, 86 may then be movably secured to the respective actuators 24 of the first and second vertical members 12, 14. Linear actuator member 78 allows secondary first and second vertical members 84, 86 to controllably move vertically in a parallel relation to first and second vertical members 12, 14.

Accordingly, linear actuator members 77, 78 are designed such that when retracted, the overall width or height of linear actuator members 77, 78 is minimized; whereas, when extended the overall width or height of linear actuator members 77, 78 is maximized. It is to be understood that the aforementioned linear actuators 77, 78 are depicted as exemplary embodiments of mechanisms for extending the reach of first and second arms 18, 19. Thus, other functionally equivalent mechanisms may be employed in connection with robot 10. Furthermore, it is to be understood that gripper assembly 20 may be designed such that the aforementioned linear actuator members 77, 78 are unnecessary. For example, most shipping containers have a standard width and height with such dimensions varying by only a few inches. Therefore, the cost and complexity of robot 10 may be reduced by implementing minor extension mechanisms as compared to implementing linear actuator members 77, 78.

With reference to FIG. 7, and with continuing reference to FIGS. 1 and 2, the operation of robot 10 will now be discussed. To facilitate the discussion of the present invention with respect to loading and unloading functionality, FIG. 7 depicts a Cartesian coordinate system overlaid onto an exemplary shipping or cargo container 90. As is known in the art, cargo containers exist in various sizes. For example, a “20 foot” cargo container has a length (depth) of 19′5″, a width of 92″, and a height of 92″. In contrast, a “45 foot high cube” cargo container has a length of 44′, a width of 92″ and a height of between 102-106″. It is to be understood that robot 10 may be utilized in connection with all forms of shipping containers or cargo transportation mediums. For example, robot 10 may be used to load and unload cargo from an area not bounded by walls or a ceiling (e.g., pallet-based cargo). Thus, the term “cargo container” may be construed to embody wall/ceiling bounded and wall/ceiling unbounded containers.

As shown in FIG. 7, the x-axis parallels the width of container 90, the y-axis relates to the height of container 90, and the z-axis measures distance into container 90 from access doors 92, a hatch, or opening of container 90. For convenience, the origin of the Cartesian coordinate system is chosen along the centerline of container 90 such that z=0 defines the position of the doors 92. Thus, a person situated at the origin, facing in the direction of the positive z-axis, would then observe a negative x-axis value as corresponding to their left-hand side and a positive x-axis to their right-hand side. Moving further into container 90 would correspond to an increasing z-axis value. Raising or lowering the person's hands would then correspond to a relative increase or decrease in the value of the y-axis coordinate, respectively.

The functionality of robot 10 will now be discussed with regard to two basic exemplary operational scenarios, namely the loading and unloading of cartons 94 from container 90. In the load scenario, the goal is to load container 90 with cargo, such as bulk merchandise contained within cartons, cardboard boxes, or other substantially rectilinear packages. However, it is to be understood that the cargo may include merchandise of various proportions and non-rectilinear dimensions. The cartons may be constructed of any rigid or semi-rigid material including, but not limited to cardboard, wood, plastic or metal.

With reference to FIG. 7, robot 10 may be positioned into open container 90 at the mid-point thereof (in x) such that a most-forward portion of gripper assembly 20 is placed as far forward (in z) into container 90, purposefully leaving room in depth (z) for building a wall of cartons 94 in the x-y plane. This position of robot 10 defines the start point for the loading of cargo. First carton 94 is placed on conveyor 66, travels along the length thereof, and eventually stops at loading shelf 70. Carton 94 is sensed by robot 10 that it is in a position waiting to be loaded. Directed by processing unit 75, first and second arms 18, 19 approach carton 94 from opposite sides thereof. Sensing immediate contact with the opposing sides of the carton 94 independently, each arm 18, 19 initially halts until both arms 18, 19 are in position for a final grab. At this point, carton 94 is grasped by reducing the distance between first and second arms 18, 19 until a specific holding pressure is achieved, as detected by one or more pressure sensors 37. The holding pressure may be predetermined, but may be automatically adjusted to compensate for carton gross weight, carton width and the resulting distribution of interior load over carton width. Once proper holding pressure is achieved, loading shelf 70 may be moved out of the way. Carton 94 is then moved in one or both of the x and y directions to a designated Cartesian coordinate, suitable for anticipating offload of carton 94. That coordinate is determined by the stereoscopic vision of robot 10 in connection with edge detection algorithms and triangulation calculations.

In an exemplary embodiment, stereo imaging is accomplished in a single snapshot utilizing two or more of cameras 72 over an entire load/unload area. Each pixel of both camera snapshots corresponds to a point in space that has reflected light towards cameras 72. Pixel-defined portions of each of the snapshots vary in illumination intensity with respect to each other. An edge detector (embodied in software) is applied to the snapshots such that subtle differences in lighting are detected based upon pixel intensity statistics. Triangulation calculations allow every pixel in the snapshots to be mapped in virtual space to a corresponding real-life coordinate (x, y, z) on the overlaid Cartesian coordinate system. Accordingly, processing unit 75 may determine empty spaces and appropriate offload coordinates, the physical location of existing cartons already in container 90, the walls of container 90, and the ceiling of container 90. It is to be understood that the offload coordinate may be determined by use of a single camera 72, wherein the single camera is moved between frames.

It is to be understood that robot 10 may utilize other hardware and vision system technologies to detect cargo and the positioning thereof. Thus, the use of cameras 72 in connection with edge detection hardware and software is discussed herein for exemplary purposes only. Another exemplary and non-limiting cargo detection technique may include template matching in connection with visual input received from cameras 72. As is known in the art, a template matching system attempts to match a captured image of an object with a pre-defined virtual model of that real-life image within a database. Upon finding a match, characteristics (e.g., dimensions, weight, etc.) of the real-life object are realized and may be utilized when interacting with that real-life object. With respect to the present invention, if robot 10 senses a particular recognizable cargo, then robot 10 may implement the necessary grasping routines to specifically handle that cargo.

After the appropriate offload coordinate has been determined and gripper assembly 20 has moved carton 94 to a corresponding location for offloading, robot 10, via motive force imparted by drive member 39, moves carton 94 forward until a predetermined maximum forward pressure against the most forward wall of container 90 is sensed by edge sensor 38 or other suitable sensor. Carton 94 is released by expanding the distance between first and second arms 18, 19 as gripper assembly 20 is simultaneously retracted in z. Thereafter, gripper assembly 20 is raised to an elevation in y above the level of conveyor 66, loading shelf 70 is placed back in a receiving position, and first and second arms 18, 19 are positioned in anticipation of the next carton. Any excess space between cartons or between cartons and walls of container 90 may be minimized by appropriately positioning gripper assembly 20 (in x, y and z) to then slide any carton in the proper direction (in x) via one of the arms, such as first arm 18. The sliding of the carton may be stopped when the maximum pressure, as detected by one or more pressure sensors 37, has been achieved against the neighboring object or wall.

The aforementioned loading process may be repeated following standard packing protocol until the loading process has been completed, as defined by the amount of cartons to be loaded and/or insufficient room for additional cartons. At the time each carton 94 is initially grasped by gripper assembly 20, the dimensions of carton 94 may be determined using any appropriate sensors, as previously discussed. Dimensional information will determine if another row (aligned with the x-axis) of cartons needs to be started, either on top (increasing y) or in front (decreasing z) of the preceding row of cartons. With sufficient pre-information about the dimensions and weight of the cartons, robot 10 is able to create an optimum overall load strategy utilizing specialized algorithms.

In an unload scenario, the goal is to unload container 90 of some or all cartons contained therein. The basic functional requirements required of robot 10 are quite similar to those of the load scenario, and, in almost every aspect, are the reverse of the load process. An additional aspect that robot 10 is configured to contend with is shifted cargo. Specifically, neat rows and columns of cartons formed during the load process may no longer exist after transit of container 90. Thus, a portion of the various cargo may be skewed in any of the axes (x, y, z). First, the position of the skewed carton is determined by applying edge detection and calculating the points in space corresponding to the skewed carton's vertices. Next, a combination of x and z movements via the first and/or second arms 18, 19 may be employed to reposition the skewed carton into a position conducive for grasping during the unload process. This process is similar to the pushing required to obtain a close pack during the load process, except that it may require judiciously selecting a particular point on the skewed carton to initiate the push and then rapidly obtaining snapshots and calculating in sequence in order to verify progress. At the completion of the load or unload operation, robot 10 may automatically return to a designated docking station.

As previously discussed, robot 10 discussed herein is only an exemplary embodiment robot and, therefore, it is envisioned that other robots may be implemented for autonomously loading and unloading cargo from a cargo container. Thus, robot 10 of the present invention is to be construed as including appropriate controllers and sensors to detect cargo, walls, and/or a ceiling of the container. Robot 10 also includes a mechanism designed for grasping the cargo and transferring the cargo from a pick-up point to a drop-off point and another mechanism for imparting motive force to the robot. These mechanisms are adapted to impart a wide range of motion, such as six degrees of freedom of motion, to the robot. Appropriate hardware, such as a processing unit, and software is configured to control the operational functions (e.g., directional movement, loading, and unloading routines) of robot 10.

The invention has been described with reference to the desirable embodiments. Modifications and alterations will occur to others upon reading and understanding the preceding detailed description. It is intended that the invention be construed as including all such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof. 

1. An autonomous robot for loading and unloading cargo of a cargo container, wherein the robot is comprised of: a first vertical member; a second vertical member spaced in substantially parallel relation to the first vertical member; a cross-member secured to the first and second vertical members in a substantially perpendicular orientation thereto; means for imparting vertical movement to the cross-member along the length of the first and second vertical members; a first arm and a second arm secured to the cross-member and extending in a forward direction with respect to the robot; means for imparting horizontal movement to the first and second arms along the length of the cross-member; means for imparting motive force to the robot; and a processing unit configured to control directional movement, loading, and unloading routines of the robot.
 2. The autonomous robot of claim 1, further comprising environment sensing hardware secured to the robot, wherein the environment sensing hardware is selected from one or more of: a multi-element passive photon detector; a multi-element or single element sound transducer; a multi-element or single element thermal sensor; a multi-element or single element passive radio-frequency sensor; a multi-element or single element active radio-frequency transducer; and a gas/liquid sampling sensor.
 3. The autonomous robot of claim 1, further comprising a conveyor extending in a rearward direction from the robot.
 4. The autonomous robot of claim 3, wherein the conveyor includes a loading shelf adapted to receive cargo from the first and second arms of the conveyor, wherein the loading shelf is situated such that in a first position, vertical travel of the cross-member is obstructed by the shelf, and such that in a second position, vertical travel of the cross-member along the length of the first and second vertical members is unobstructed.
 5. The autonomous robot of claim 1, wherein the means for imparting vertical movement of the cross-member include at least one: a linear actuator; a pulley; a belt drive; and a expanding member.
 6. The autonomous robot of claim 1, wherein at least one of the first and second arms is non-articulated, articulated, rotatable, or a combination thereof.
 7. The autonomous robot of claim 6, wherein the first arm is configured to move independently of the second arm.
 8. The autonomous robot of claim 6, wherein at least one of the first and second arms includes a pressure sensor for conveying pressure data to the processing unit relating to an amount of pressure applied to the cargo.
 9. The autonomous robot of claim 1, wherein the means for imparting horizontal movement of the first and second arms includes at least one: a linear actuator; a pulley; a belt drive; and an expanding member.
 10. The autonomous robot of claim 1, wherein the means for imparting motive force to the robot include at least one of: a retractable foot; one or more treads; and a plurality of wheels.
 11. The autonomous robot of claim 1, wherein the processing unit is configured to: detect the size of the cargo; detect an edge of the cargo; optionally detect a wall, ceiling, or floor of the cargo container; detect shifted cargo and the position thereof; create loading and unloading strategies based upon the size of the cargo; optimize the loading and unloading strategies during the course of loading and unloading, respectively; conduct self-tests to ensure operational functionality of the robot; receive external queries; or detect unanticipated movement within a predefined perimeter.
 12. The autonomous robot of claim 1, further comprising a third and fourth vertical member secured in substantial parallel relation to the first and second vertical members, respectively, wherein the first and second vertical members are configured to move vertically with respect to the third and fourth vertical members, respectively.
 13. The autonomous robot of claim 1, further comprising a compound linear actuator for imparting horizontal movement to the first and second arms substantially beyond a width of the robot, wherein the width of the robot is defined by the width of the cross-member.
 14. A method of loading a cargo container with cargo, the method comprising the steps of: providing an autonomous robot configured for movement into and out of the cargo container, wherein the robot includes a first arm and a second arm, environment sensing hardware, and a conveyor; positioning the robot within the cargo container; placing the cargo on the conveyor and conveying the cargo toward the first and second arms via the conveyor; moving the first and second arms to a first position such that the first and second arms are adjacent to the cargo on opposing sides thereof; applying a suitable holding pressure on the cargo by the first and second arms; detecting one or more edges of existing cargo within the container to determine an offload space sized to accommodate the cargo; selecting an offload coordinate within the offload space; moving the first and second arms to a second position, wherein the second position corresponds to the offload coordinate, whereby the cargo is moved from the conveyor into the offload space; and reducing the holding pressure applied to the cargo by the first and second arms, whereby the cargo is released into the offload space.
 15. The method of claim 14, further comprising the step of imparting forward motion to the robot until a sensor situated on at least one of the first and second arms senses a predetermined amount of pressure exerted thereon.
 16. The method of claim 14, further comprising the step of reducing the size of a space between the cargo and existing cargo by using either the first arm or the second arm to push a side of the cargo opposite the existing cargo toward the existing cargo.
 17. A method of unloading a cargo container with cargo, the method comprising the steps of: providing an autonomous robot configured for movement into and out of the cargo container, wherein the robot includes a first arm and a second arm, environment sensing hardware, and a conveyor; determining the location of the cargo by detecting one or more edges thereof utilizing the environment sensing hardware; moving the first and second arms to a first position such that the first and second arms are adjacent to the cargo on opposing sides thereof; applying a suitable holding pressure on the cargo by the first and second arms; moving the first and second arms to a second position, wherein the second position is defined as an area situated near the conveyor; and reducing the holding pressure applied to the cargo by the first and second arms, whereby the cargo is conveyed away from the first and second arms via the conveyor.
 18. The method of claim 17, further comprising the step of: moving the cargo from a skewed position to a position conducive for grasping by the first and second arms by utilizing either the first or second arms to push against a front face of the cargo, a side of the cargo, or a combination thereof.
 19. An autonomous robot for loading and unloading cargo of a cargo container, wherein the robot is comprised of: means for grasping the cargo and transferring the cargo from a pick-up point to a drop-off point; means for detecting cargo within the cargo container; means for detecting at least one of a wall and a ceiling of the container; means for imparting motive force to the robot; and a processing unit configured to control directional movement, loading, and unloading routines of the robot.
 20. The autonomous robot of claim 19, wherein the means for detecting the cargo, walls, and ceiling is a multi-element or single-element detector configured to detect energy within the electromagnetic spectrum.
 21. The autonomous robot of claim 19, wherein the means for imparting motive force to the robot include at least one of: a retractable foot; one or more treads; or a plurality of wheels. 